Integrate Offer with External System
This use case describes how to integrate an offer with an external system, which functions as the source of truth for the offer and its redemption.
From a SessionM standpoint, the work is related to evaluating a customer's behavior and issuing the offer. Doing so then triggers an external system to issue the offer to the customer's wallet via its own API. Once the customer redeems the offer through the external system, redemption details are sent back to SessionM for reconciliation.
Customer Journey
One helpful way of understanding this use case is to consider how it reflects the customer's experience, or journey, in the "real world"
Customer logs in to home goods website and completes loyalty action by opening app
SessionM responds to action with outcome, issuing offer to customer
Offer issuance triggers pre-existing event on SessionM as specified in offer
SessionM then determines if action meets rules defined in campaign associated with offer
If rules are met, SessionM sends message payload to external system
External system communicates with customer, awarding outcome, which is offer
Customer receives offer from external system, on behalf of home goods retailer
Platform Configuration
Before implementing this use case, ensure the SessionM data below is configured and consult with the SessionM team to create a provider for the external system that will send a campaign outcome when the offer is issued:
Customers
Customer profile, standard or custom, exists for customer being issued offer.
With help from your SessionM architect, ensure that "New Scope Observer" has been created and is ready to listen for a customer action and then trigger an event on the customer profile. Once the event occurs, like the customer opening an application, and the customer has received the outcome, the observer can publish it to the external system. This system can then issue a replica of the offer within its system.
Offers
Create offer that can be issued to customer. Replica of offer should exist on the external system so the offer can be added to the customer's wallet.
Campaigns
Evergreen campaign listening for event.
In coordination with the SessionM team, make sure the Webhook is pointing to client messaging provider and a variant is configured with all data points being sent within the message.
Campaign exists with external message using Webhook and variant mentioned above.
Sequence Diagram
See the overall flow for this use case below.